#include"FindDevice.hpp"
#include<iostream>


bool FindServerice(const std::string xmlData, std::string* control_url)
{
	pugi::xml_document doc;
	pugi::xml_parse_result result = doc.load_string(xmlData.c_str());
	if (!result)
	{
		std::cout << "xml parsed error " << result.description() << std::endl;
	}
	else
	{
		std::cout << "xml parsed sucess" << std::endl;
		pugi::xml_node root = doc.child("root");
		pugi::xml_node server_list = root.child("device").child("serviceList");
		if (server_list)
		{
			for (auto child : server_list)
			{
				auto server_type = child.child("serviceType");
				if (server_type && strstr(server_type.text().as_string(), "AVTransport"))
				{
					cout << server_type.text().as_string() << endl;
					*control_url = child.child("controlURL").text().as_string();
					return true;
				}
			}
		}
	}

	return false;
}

int main()
{
	//Device dev(8848);
	//dev.FindDevice();
	//httplib::Client cli(/*dev.devices[0].ip.c_str()*/"192.168.0.108:39620");
	//auto res=cli.Get("/description.xml");
	//if (res && res->status == 200)
	//{
	//	cout << res->body << endl;
	//	pugi::xml_document doc;
	//	pugi::xml_parse_result result = doc.load_string(res->body.c_str(),pugi::encoding_utf8);
	//	if (!result)
	//	{
	//		std::cout << "xml parsed error " << result.description() << std::endl;
	//	}
	//	else
	//	{
	//		
	//	}
	}
	


	return 0;
}
